package cn.com.surker.production.service;

import cn.com.surker.production.entity.ProductionIndent;
import cn.com.surker.production.entity.report.ProductionIndentReport;
import cn.com.surker.production.entity.vo.ProductionIndentVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 生产计划表 服务类,提供公用的任务单操作方法
 * </p>
 *
 * @author admin
 * @since 2024-07-25
 */
public interface ProductionIndentService extends IService<ProductionIndent> {

	/**
	 * 查询最大的erpid
	 *
	 * @return
	 * @param dbCode
	 */
	@Deprecated
	Long findMaxErpId(String dbCode);

	/**
	 * 根据erpid查询
	 *
	 *
	 * @param dbCode
	 * @param erpId
	 * @return
	 */
	@Deprecated
	ProductionIndent findByErpId(String dbCode, Long erpId);

	/**
	 * 批量保存任务单数据
	 *
	 * @param code
	 * @param oaIndentList
	 */
	@Deprecated
	void saveBatchV2(String code, List<ProductionIndent> oaIndentList);

	/**
	 * 查询任务单详细信息
	 *
	 * @param dbCode
	 * @param id
	 * @return
	 */
	ProductionIndentVo queryFullById(String dbCode, Long id);

	/**
	 * 查询列表
	 *
	 * @return
	 */
	List<ProductionIndent> findList(String dbCode, String startTime, String endTime, String code, String conName, String levelName, String site);

	ProductionIndent getBaseById(String dbCode, Long indentId);

	/**
	 * 查询任务单的全部信息,不包含完成量
	 *
	 * @param startTime
	 * @param endTime
	 * @param searchVal
	 * @param proTypes
	 * @param pageIndex
	 * @param limit
	 * @return
	 */
	IPage<ProductionIndentVo> selectFullPage(String dbCode, String startTime, String endTime, String searchVal, Integer isPro, List<Integer> proTypes, Integer pageIndex, Integer limit);

	/**
	 * 查询任务单的全部信息
	 *
	 * @param startTime
	 * @param endTime
	 * @param proTypes
	 * @return
	 */
	List<ProductionIndentVo> selectFullList(String dbCode, String startTime, String endTime, String searchVal, Integer isPro, List<Integer> proTypes);

}